package com.scgl.prod.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 生产计划表对象 scgl_prod
 *
 * @author ruoyi
 * @date 2024-10-28
 */
public class ScglProd extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long planId;

    /** 生产计划编号 */
    @Excel(name = "生产计划编号")
    private String planNumber;

    /** 计划状态 */
    @Excel(name = "计划状态")
    private Long planStatus;

    /** 优先级 */
    @Excel(name = "优先级")
    private Long orderLevel;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String productCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unit;

    /** 规格 */
    @Excel(name = "规格")
    private String specification;

    /** 计划产量 */
    @Excel(name = "计划产量")
    private Long plannedProduction;

    /** 报工数量 */
    @Excel(name = "报工数量")
    private Long reportedQuantity;

    /** 销售单号 */
    @Excel(name = "销售单号")
    private String salesSell;

    /** 交付日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交付日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 工艺 */
    @Excel(name = "工艺")
    private Long craftId;

    /** 车间                                            */
    @Excel(name = "车间                                           ")
    private Long shopId;

    /** 生产线 */
    @Excel(name = "生产线")
    private Long productId;

    /** 计划开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startdate;

    /** 计划结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date denddate;

    /**
实际开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = " 实际开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date artdate;

    /** 计划结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enddate;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId()
    {
        return planId;
    }
    public void setPlanNumber(String planNumber)
    {
        this.planNumber = planNumber;
    }

    public String getPlanNumber()
    {
        return planNumber;
    }
    public void setPlanStatus(Long planStatus)
    {
        this.planStatus = planStatus;
    }

    public Long getPlanStatus()
    {
        return planStatus;
    }
    public void setOrderLevel(Long orderLevel)
    {
        this.orderLevel = orderLevel;
    }

    public Long getOrderLevel()
    {
        return orderLevel;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }

    public String getProductCode()
    {
        return productCode;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }
    public void setPlannedProduction(Long plannedProduction)
    {
        this.plannedProduction = plannedProduction;
    }

    public Long getPlannedProduction()
    {
        return plannedProduction;
    }
    public void setReportedQuantity(Long reportedQuantity)
    {
        this.reportedQuantity = reportedQuantity;
    }

    public Long getReportedQuantity()
    {
        return reportedQuantity;
    }
    public void setSalesSell(String salesSell)
    {
        this.salesSell = salesSell;
    }

    public String getSalesSell()
    {
        return salesSell;
    }
    public void setDeliveryDate(Date deliveryDate)
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate()
    {
        return deliveryDate;
    }
    public void setCraftId(Long craftId)
    {
        this.craftId = craftId;
    }

    public Long getCraftId()
    {
        return craftId;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setStartdate(Date startdate)
    {
        this.startdate = startdate;
    }

    public Date getStartdate()
    {
        return startdate;
    }
    public void setDenddate(Date denddate)
    {
        this.denddate = denddate;
    }

    public Date getDenddate()
    {
        return denddate;
    }
    public void setArtdate(Date artdate)
    {
        this.artdate = artdate;
    }

    public Date getArtdate()
    {
        return artdate;
    }
    public void setEnddate(Date enddate)
    {
        this.enddate = enddate;
    }

    public Date getEnddate()
    {
        return enddate;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("planNumber", getPlanNumber())
            .append("planStatus", getPlanStatus())
            .append("orderLevel", getOrderLevel())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("unit", getUnit())
            .append("specification", getSpecification())
            .append("plannedProduction", getPlannedProduction())
            .append("reportedQuantity", getReportedQuantity())
            .append("salesSell", getSalesSell())
            .append("deliveryDate", getDeliveryDate())
            .append("craftId", getCraftId())
            .append("shopId", getShopId())
            .append("productId", getProductId())
            .append("startdate", getStartdate())
            .append("denddate", getDenddate())
            .append("artdate", getArtdate())
            .append("enddate", getEnddate())
            .append("creator", getCreator())
            .append("creationTime", getCreationTime())
            .toString();
    }


}
